<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<div id="container">
For manual testing,
<ol>
<li>Double click at "hello" or "world".</li>
<li>You see selection where you double clicked.</li>
</ol>
<div id="sample" contenteditable>hello world</div>
</div>
<script>
description('Double click to select word should work with DOM modification by click event handler.');
var sample = document.getElementById('sample');
var selection = getSelection();
sample.addEventListener('click', function() {
  if (!selection.rangeCount)
    return;
  selection.getRangeAt(0).insertNode(document.createElement('span'));
});
if (window.eventSender) {
  eventSender.mouseMoveTo(sample.offsetLeft + 10, sample.offsetTop + 1);
  eventSender.mouseDown();
  eventSender.mouseUp();
  eventSender.mouseDown();
  eventSender.mouseUp();
  // To make this platform independent, we use |trim()| for checking selected
  // word, e.g. Windows selects word with a trailing space, but Mac selects
  // only word.
  shouldBeEqualToString('selection.toString().trim()', 'hello');
  document.getElementById('container').outerHTML = '';
}
</script>
